Generally, in an enterprise environment, an administrator employs a distribution system to deploy a software package to one or more computer machines. The software package usually includes inherent properties (e.g., developer of the software package, program name, version, language, build number, release date, etc.) that may be useful to an administrator in determining what programs should be installed on a computer machine or for otherwise managing and organizing all the various software packages in the enterprise. However, some of these properties may not be easily discovered from the software package before it is installed on a computer machine. In some instances, other properties (e.g., build number) are not independently determinable even after the software package is installed on a computer machine. This presents challenges for administrators to identify, examine, manage, and organize software packages and their associated properties.
In addition, it is difficult for administrators to distinguish between software packages that have minor property differences. For example, a particular software package may represent a distinct version of another software package even if these software packages are not significantly different from each other (e.g., their properties may be the same except their build numbers). Furthermore, a software package may include files that, unless protected, are vulnerable to accidental modification. Therefore, it is desirable to store software packages in a secure location to prevent unintended modifications to files associated with the software packages.
In the past, to manage and organize a software package and its associated properties, a public directory (e.g., in an hierarchical structure) is created to store the software package and represent its properties such as version and build numbers. Nevertheless, if a particular software package is removed from such a public directory to a secure location to prevent modifications to package files, property information associated with that software package is similarly removed from the public directory. Thus, it is difficult for administrators to provide a secure environment for software packages and to preserve property information associated with the software packages.
In addition, certain installation technologies (e.g., Windows Installer Transform (“MST”) files) can materially change a software package and its associated properties (e.g., version and/or build numbers) during package installation. To properly manage and organize software package installations, an administrator may need to understand whether such installation technologies can be applied to a particular software package and how such installation technologies will affect the installation of the software package.